BFF(Backend For Frontend)

❓질문

BFF(Backend For Frontend)란 무엇인가요?


💡 조사하기전 내가 알고 있던 내용

BFF란 프론트엔드를 위한 보조서버의 역할을 만드는 설계를 의미합니다.
웹과 모바일등 다양한 환경에서 API호출을 하는 서비스의 경우 웹과 모바일에는 필요한 데이터가 다를 수도 있습니다.
이러한 경우 일때 웹용 BFF 모바일용 BFF이런식으로 따로 서버를 만들고 필요한 데이터만 받을수있게 설계하는 식입니다.


🏫 정리한 내용

MSA 환경에서 받는 여러 API를 조합하여 프론트단으로 보내주는 역할을 할 수 도있습니다.
프론트엔드에서 여러개의 API를 받아서 조합할 경우 부하가 생길 확률이 높습니다.
그러나 BFF 서버를 만들고 로드 밸런서 설정후 여러 인스턴스로 확장한다면 부하를 덜 받을 수 있고 캐싱된 데이터를 활용해 부담을 줄일 수도 있습니다.